<?php
	
	echo "<pre>";

	//第一类异常，数据库连接异常
	//这种异常直接通过try...catch捕获
	try{
		$pdo = new PDO('mysql:host=localhost;dbname=mytp','root','root');
		//第二种异常，第二种处理方法
		//设置当 数据库 操作 发生异常的时候，弹出警报，但程序执行不会中断
		// $pdo -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
		
		//第二类异常，第三种处理方法
		//设置当前 操作发生异常 的时候，进行中断  事务的操作的异常
		// $pdo -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
	}catch(PDOException $e){
		echo 'db 连接失败，失败的原因是：'.$e->getMessage();
	}
//解决中文乱码
// PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';")); //第一种
// PDO::__construct($dsn, $user, $pass);  //第二种
// $pdo->query('set names utf8;'); 	//第三种
	$pdo -> exec('set names utf8');	//第四种
	$sql = "update user set userName='franky',password='333333' where userName='frank'";

	if($pdo->exec($sql)){
		echo '操作成功';	
	}else{
		//第二类异常，第一种异常通处理方法（直接通过系统提供的errorCode()和errorInfo()属性实现）
		
		echo '操作失败';
		// echo $pdo->errorCode();
		// echo $pdo->errorInfo();
	}

?>